Power supply for a computer peripheral device which positions a cursor on a computer display

ABSTRACT

An improved peripheral device for a computer wherein the improvement comprises circuitry which derives power for the peripheral device from the control and data signal lines interconnecting the peripheral device to the computer. Preferably, the peripheral device is a mouse which uses a microprocessor to translate signals received from a pair of encoders. Power for the microprocessor is derived from a pair of control lines through the use of a voltage reference setting zener diode, a polarity maintaining diode and a current limiting resistor. For an RS-232-type interface, the TXD signal is used for ground and the RTS signal is used for positive voltage. The computer is programmed to provide a positive signal on the RTS line and a negative signal on the TXD line.

This is a continuation of application Ser. No. 548,122, filed Nov. 2, 1983, now abandoned.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to a computer graphic input device known as a mouse and, more specifically, to a power supply for such device.

2. Description of the Prior Art

A mouse is a computer input device typically used for positioning a cursor on a computer video display screen. A typical physical embodiment of a mouse includes a small enclosure containing X-Y motion sensors, one or more push buttons operable externally of the enclosure, electrical interface circuitry, and a cable to connect the circuitry to a host computer. In operation, when the mouse is moved on a flat surface by a user, the motion sensors in the mouse detect the movement and direction of the mouse in the X-Y plane. The interface circuitry, typically within the mouse, converts the motion data produced by the sensors into a digital form usable by the host computer. Software in the host computer then utilizes the motion data to perform a particular function, for example, repositioning of the cursor on the display screen. The mouse also usually is provided with one or more switches, often in the form of push buttons, to enable alteration of the program flow in the host computer.

Mice of the above described type are normally classified by the manner in which motion is detected, the principal motion detection methods being mechanical and optical. Mechanical mice usually employ a technique whereby a spherical ball protrudes slightly below the bottom of the mouse enclosure which is free to roll as the mouse is moved by the operator along a flat surface. Inside the enclosure, the rotating ball is coupled to a pair of orthogonally mounted shaft position encoders by small rubber wheels or the like. Mouse motion is thereby converted into two pairs of quadrature signals, one pair for each axis of motion, thereby providing the required direction and displacement information corresponding to mouse movement. Optical mice utilize a method whereby a light source in the base of the mouse is reflected onto one or more photodetectors by a specially patterned surface over which the mouse is moved. Typically, a single chip computer translates the changes in detected luminance into direction and displacement signals which are utilized by the host computer in the manner described above.

Mice may be further classified by the manner in which they interface with the host computer. The two common interface methods are parallel and serial. Mice employing a parallel interface usually connect to a specially designed, dedicated controller board installed in the host computer. The circuitry used to convert motion of the mouse into digital data may be located either on the controller board in the host computer, in the mouse itself, or divided between the two. In any event, the controller board provides the interconnection between the host computer and the mouse.

On the other hand, mice employing a serial interface typically are connected to a general purpose serial I/O port on the host computer of the type often used with other peripheral devices such as modems. One advantage of a serial mouse is that no special mouse controller board is required in the host computer to support operation of the mouse. As a consequence, all circuitry used in translating motion of the mouse into digital form is contained within the mouse itself, or within an additional enclosure external to the host computer.

The serial mouse typically utilizes a microcomputer, often with several discrete components, to translate the quadrature signals of the shaft encoders or the optical sensors into data packets that are transmitted to the host computer. Additionally, there is circuitry to perform the signal level conversion required by the serial interface standard employed (usually EIA Standard RS-232C). Data is commonly transmitted using an ordinary asynchronous serial protocol. Serial mice require an external power source, such as batteries or an externally located power supply connected to the mouse by a cable. Use of power supplied by batteries is inconvenient because of size and weight considerations, as well as the fact that the supply of power is dependent on battery life. On the other hand, the use of an externally located power supply usually requires an extra enclosure that must be connected to the primary AC power lines, as well as an additional cable to supply the power to the mouse. Both of these methods result in additional cost and complexity.

SUMMARY OF THE INVENTION

The invention overcomes the above problems by obtaining power for the mouse directly through signal lines normally used for other purposes but which form a part of the standard RS-232C serial interface. The serial mouse utilizes the RTS (Request To Send), DTR (Data Terminal Ready) and TXD (Transmit Data) signal lines of the host computer's RS-232C serial I/O interface as its power source. These lines, as defined by EIA Standard RS-232C, are normally used for data communication and handshake functions under control of the host computer, and are not intended to provide electrical power to any peripheral device attached thereto. However, in accordance with EIA Standard RS-232C, these signal lines are energized by line drivers capable of sourcing a few milliamperes of current at a minimum of 5 volts into a 3000 ohm load. The serial mouse of this invention is able to obtain all required electrical power through these three signal lines.

Because the above noted signals are available on the serial I/O ports of substantially all micro and mini computers, the serial mouse of this invention may be directly connected to the host computer interface without hardware modification, an external power source, or internal batteries. A software driver in the host computer is used to properly configure the control lines on the host computer serial interface.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing a host computer with a mouse connected to a serial interface which is a part of the host computer; and

FIG. 2 is a schematic diagram of a serial mouse in accordance with the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 is a block diagram of a host computer 1 with an interface 3 which is connected by a cable 5 to a mouse 7. The host computer 1 includes a display device, usually a cathode ray tube, which is controlled by signals transmitted from the mouse through the cable 5 and the unmodified interface 3 to the host computer 1. The mouse 7 receives power for its operation via the unmodified interface 3 and along certain standard signal wires of the cable 5. In the preferred embodiment these signals are transmitted in accordance with the format defined by EIA Standard RS-232C.

In operation, in the preferred embodiment, the serial mouse sends a three-byte data package to the host computer whenever there is any change in the state of the mouse. A change of state is defined as any motion of the mouse or any change in the position of either of its buttons. The data packet sent to the host computer is an accumulation of all mouse activity that has occurred since transmission of the previous data packet. In other words, any mouse activity that occurs during the transmission of one data packet or thereafter will be accumulated for transmission in the succeeding data packet. This buffering technique allows the serial mouse to continuously track high mouse velocities while transmitting serially at a low baud rate, for example, 1200 baud. In the preferred embodiment each data packet sent by the mouse comprises three bytes. The format for each byte is:

    ______________________________________                                         B6        B5       B4        B3   B2   B1   B0                                 ______________________________________                                         Byte 1 1      LEFT     RIGHT   Y7   Y6   X7   X6                               Byte 2 0      X5       X4      X3   X2   X1   X0                               Byte 3 0      Y5       Y4      Y3   Y2   Y1   Y0                               ______________________________________                                    

Bit 6 (B6) is a sync bit, set for byte 1 of a data packet, reset otherwise.

LEFT represents the state of the left mouse button; a one (1) indicates the button is down (depressed), a zero (0) indicates that the button is up (released).

RIGHT represents the state of the right mouse button in the same manner as the left button.

X0-X7 is a signed, two's complement integer that represents the relative displacement of the mouse in the X-coordinate direction since the last data transmission. A positive value indicates mouse movement to the right, negative values indicate motion to the left.

Y0-Y7 is a signed, two's complement integer that represents the relative displacement of the mouse in the Y-coordinate direction since the last data transmission. A positive value indicates mouse movement downwards, negative values indicate motion upwards.

FIG. 2 is a schematic drawing of the circuit of a serial mouse 7. The circuitry may be disposed either in the mouse housing, at the host computer 1 connected to the interface 3, or divided between the two, as desired. The mouse 7 includes an X shaft encoder 13, a Y shaft encoder 15, a pair of switches 17 and 19 and resistors 11 connected between a source of voltage (explained below) and each of the output terminals of the encoders 13 and 15 and the switches 17, 19. Although two switches are shown, the number of switches provided is arbitrary, but generally is a relatively small number to simplify operation of the mouse. The output terminals from each of the encoders 13, 15 and switches 17, 19 are connected to I/O ports PA0 to PA5 respectively of a microcomputer 21. The encoders and switches are also connected to a local ground. As explained below this local ground is different from the host computer ground. At least the encoders 13, 15, and the switches 17, 19, will be located in the mouse enclosure. All or part of the remaining circuitry can be located within the mouse enclosure, or at the host computer, connected to the mouse by a cable. The encoders 13, 15 are standard shaft encoders of a type that can be purchased from ALPS Electric or from other sources.

Microcomputer 21 is preferably an 8 bit CMOS Motorola MC 146805F2, as described in Motorola publication ADI-879, copyright 1982 by Motorola, Inc. The microcomputer is configured as specified in the above publication with the ROM of the microcomputer being configured according to the source code of the attached Appendix. The code shown in the Appendix, when loaded into the ROM, allows the microcomputer to understand the meaning of a high or low signal on any particular input line and to generate the digital code transmitted from the mouse to the host computer. Power to drive the microcomputer 21 is applied to terminal VDD which receives a positive voltage of about 4.3 volts with respect to VSS. VSS is the local ground, a voltage in the -5 to -10 volt range relative to the host computer ground. The clock rate of the microcomputer is determined by the crystal controlled circuit connected across the microcomputer OSC inputs, about 2.1 MHz in the preferred embodiment.

The host computer is programmed to normally place a voltage of plus 5 to 10 volts in the Request To Send (RTS) line 33 and the Data Terminal Ready (DTR) line 29 and a voltage of minus 5 to 10 volts on the Transmit Data (TXD) line 31. The Receive Data (RXD) line 25 transmits signals from the microcomputer 21 serially to the host computer 1 via the interface 3. This is accomplished by controlling the gate of transistor 23 via signals from the output PBO of the microcomputer. The voltage on line 25 will be effectively local ground -5 to -10 volts with respect to host computer ground) if the transistor is conducting, or the voltage on line 29 (+5 to +10 volts with respect to host ground) if the transistor is not conducting. All ground terminals in the drawing are local ground. Thus the microcomputer ground VSS takes the voltage on line 31 which is a negative voltage relative to the host computer ground. This arrangement eliminates the necessity of an additional transistor for voltage referencing between the microcomputer and the host computer. All signals on lines 29, 31 and 33 are bipolar relative to the host computer ground.

In actual operation, under programmed control of the host computer, RTS line 33 will always be at a positive voltage, TXD line 31 will always be at a negative voltage, and DTR line 29 will always be at a positive voltage. The voltages on lines 29, 31 and 33 are utilized in accordance with the present invention as a power source to provide power to the microcomputer 21 across VDD and VSS and to the transistor 23. Diode 37 is provided to prevent the supply voltage to the microcomputer 21 from becoming negative at VDD with respect to local ground. Resistor 39 is a current limiting resistor and Zener diode 41 establishes a voltage reference for the microcomputer 21. The capacitor 43 is a filter capacitor to remove ripple components.

It is apparent from the above description that lines 29, 31 and 33, which in the prior art are used only for signalling functions, have been utilized to provide a source of power to a mouse circuit without requiring changes at the host computer or the computer interface. The use of these lines eliminates the need for a separate power source for the mouse.

Although the invention has been described with respect to a specific preferred embodiment thereof, variations and modifications will be apparent to those skilled in the art. It is therefore the intention that the appended claims be interpreted as broadly as possible in view of the prior art to include all such variations and modifications. ##SPC1## 

I claim:
 1. In a computer peripheral device for positioning a cursor on a computer display, said device including means for generating X-Y information, said device comprising:processing means for converting said X-Y information to a serial format; an interface having a plurality of control and data lines of a general purpose peripheral port of a host computer, said interface including a data line coupled to said processing means; and means, coupled to at least one of said control and data lines, for providing power to said generating and processing means.
 2. A device as set forth in claim 1 wherein said generating means includes means for generating said X-Y information in response to manual inputs.
 3. A device as set forth in claim 2 wherein said means for providing power is coupled to first and second ones of said control or data lines, said first control or data line having a positive predetermined state and said second control or data line having a negative predetermined state.
 4. The device of claim 3 wherein said interface is an RS-232 format interface, said first control or data line is a RTS line and said second control or data line is a TXD line.
 5. The device of claim 3 wherein said means for providing power comprises a zener diode coupled between said second control or data line and a power input of said processing means and a series combination of a diode and a resistor coupled between said first control or data line and said power input of said processing means.
 6. The device of claim 3 further comprising a transistor having a control electrode coupled to a data output of said processing means, a second electrode coupled to said control or data line and a third electrode coupled to said second control or data line and a third electrode coupled to said second control or data line.
 7. A device as set forth in claim 1 wherein said processing means includes a microprocessor coupled to said generating means.
 8. The device of claim 1 wherein said means for providing power includes means for maintaining power at a predetermined polarity.
 9. A computer mouse peripheral device, comprising:means for generating X-Y data based on movement of said mouse in an X-Y plane; processing means for converting said X-Y data to a serial format; an interface having a plurality of control and data lines of a general purpose peripheral port of a host computer, said interface including a data line coupled to said means for processing data; means, coupled to said plurality of control or data lines, for providing power to said means for processing data from said plurality of control or data lines, wherein at least one control or data line has a positive predetermined state and at least one control or data line has a negative predetermined state; and means for maintaining said power at a predetermined polarity.
 10. A computer system comprising:a computer mouse peripheral device, including information means for generating and encoding X-Y information based on the location of said mouse peripheral device relative to an initial position; a general purpose peripheral interface having a plurality of control and data lines; means, coupled to a pair of said control or data lines for providing power to said generating and encoding means; a host computer coupled to said general purpose peripheral interface; means, coupled to said general purpose peripheral interface control or data lines, for placing a predetermined voltage thereon; and a plurality of signal lines coupling said general purpose peripheral interface to said host computer.
 11. An improved device for positioning a cursor on a computer display, said device coupled to a general purpose peripheral port of a computer and having serial data lines and a plurality of control lines, said device comprising:first means for detecting movement of the device in a first direction and generating a first signal in response thereto; second means for detecting movement of the device in a second direction perpendicular to said first direction and generating a second signal in response thereto; processing means coupled to said first and second means for detecting movement, said processing means for converting the signals generated by said first and second means for detecting movement into a serial data stream, said processing means having a power supply input and a means for outputting said serial data stream to said serial data lines of said peripheral port; and means for deriving power from at least one of said serial data lines or control lines of said peripheral port, said means for deriving power coupled to said power input of said processing means.
 12. The apparatus of claim 11 wherein said plurality of serial data lines of said general purpose peripheral port include at least one line used for the transmission of data to said computer and at least one line used for receiving data from said computer.
 13. An improved device for positioning a cursor on a computer display, said device coupled to a general purpose peripheral port of a computer having serial data lines and a plurality of control lines, said device comprising;means for detecting movement of the device in an X-Y plane and generating a signal in response thereto; processing means coupled to said means for detecting movement, said processing means for converting the signal generated by said means for detecting movement into a serial data stream, said processing means having a power supply input and a means for outputting said serial data stream to at least one of said serial data lines of said general purpose peripheral port; and means for deriving power from at least one of said serial data lines or control lines of said general purpose peripheral port, said means for deriving power coupled to said power supply input of said processing means.
 14. An improved device for positioning a cursor on a computer display, said device coupled to a general purpose peripheral port of a computer and having serial data lines and a plurality of control lines, said device comprising:means for detecting movement of the device in an X-Y plane and generating a signal in response thereto; converting means coupled to said means for detecting movement, said converting for converting the signal generated by said means for detecting movement into a serial data stream, said converting means having a power supply input and a means for outputting said serial data stream to said serial data lines of said general purpose peripheral port; and means for deriving power from at least one of said serial data lines or control lines of said general purpose peripheral port, said means for deriving power coupled to said power supply input of said converting means.
 15. A method for positioning a cursor on a computer screen with a mouse, said method comprising the steps of:coupling the mouse to a general purpose serial port of a computer, said serial port having control and data lines; generating an X-Y signal in response to movement of said mouse in an X-Y plane with a generating means; converting said X-Y signal to a serial format with a converting means; outputting said X-Y signal to said computer through said general purpose serial port; converting said X-Y signal to a X-Y position on a computer screen; and displaying said X-Y position with a cursor on a computer screen.
 16. The method of claim 15 further including the steps of deriving power for said generating means and said converting means from control or data lines of said general purpose serial port. 